<?php
	/*
	//INCLUINDO OS ARQUIVOS DAS CLASSES EXTERNAS
	*/
	require_once "ICrud.php";
	require_once "Metodos.php";
				
	class Administrador extends Metodos implements ICrud
	{
		protected $Id;
		protected $Nome;
		protected $Email;		
		protected $Senha;		
		private   $SenhaConfirma;
		protected $DataCadastro;
		protected $MsgAlerta;

		public function __construct()
		{							
			$this->Id        	 = 0;
			$this->Nome      	 = "";
			$this->Email     	 = "";
			$this->Senha     	 = "";
			$this->SenhaConfirma = "";
			$this->DataCadastro  = "";
			$this->MsgAlerta 	 = "";
		}
		
		
		/*
		//ENCAPSULANDO
		*/
		public function GetId(){return $this->Id;}		
		
		public function GetNome(){return $this->Nome;}		
		
		public function GetEmail(){return $this->Email;}
		
		public function GetDataCadastro(){return $this->DataCadastro;}
		
		public function GetMsgAlerta(){return $this->MsgAlerta;}
		
		
		public function SetNome($_value)
		{			
			$_value = $this->RemoverInjection($_value);
			$_value = $this->ValidarTamanho(3,60,$_value,"NOME");						
			$this->Nome = $_value;
		}
				
		public function SetEmail($_value)
		{			
			$_value = $this->RemoverInjection($_value);	
			$_value = $this->ValidarEmail($_value);
			$_value = $this->ValidarTamanho(6,60,$_value,"E-MAIL");			
			$this->Email = $_value;
		}
		
		public function SetSenha($_value)
		{
			$_value = $this->RemoverInjection($_value);					
			$_value = $this->ValidarTamanho(1,18,$_value,"SENHA");			
			$_value = $this->Criptografar($_value);			
			$this->Senha = $_value;
		}
		
		public function SetSenhaConfirma($_value)
		{
			$_value = $this->RemoverInjection($_value);					
			$_value = $this->ValidarTamanho(1,18,$_value,"SENHA");			
			$_value = $this->Criptografar($_value);			
			$this->SenhaConfirma = $_value;
		}
		
						
		/*
		//METODOS DA CLASSE
		*/
		public function Cadastrar()
		{
			if($this->Senha == $this->SenhaConfirma)
			{
				$cadastrar = mysql_query("INSERT INTO administrador VALUES(null,'$this->Nome','$this->Email','$this->Senha',now())");
				if($cadastrar)
				{
					$this->MsgAlerta 	= "<div class='notice success'> <span>Administrador cadastrado com <strong>sucesso!</strong></span> </div>";
					$this->Nome  	 	= "";					
					$this->Senha     	= "";
					$this->Email 	 	= "";					
					$this->DataCadastro = "";
				}
				else									
					$this->MsgAlerta = $this->SqlError(mysql_errno(), "E-MAIL");
			}
			else				
			{
				$this->ErrorMsg = "As senhas devem ser iguais";
				$this->Error    = true;
			}
						
			$_SESSION["mensagens"]["alerta"] = $this->MsgAlerta;
			header("location:administrador.php");
		}
		
		
		public function Editar()
		{
			$editar = mysql_query("UPDATE administrador SET nome = '$this->Nome', email = '$this->Email', senha = '$this->Senha' WHERE id_administrador = $this->Id");
			if($editar)						
				$this->MsgAlerta = "<div class='notice success'> <span>Administrador editado com <strong>sucesso!</strong></span> </div>";
			else			
				$this->MsgAlerta = "<div class='notice error'> <span><strong>Error</strong> ao editar o administrador.</span> </div>";
			
			$_SESSION["mensagens"]["alerta"] = $this->MsgAlerta;
			header("location:administrador.php");		
		}
		
		
		public function Excluir($_id)
		{
			$deletar = mysql_query("DELETE FROM administrador WHERE id_administrador = '$_id'");
			if($deletar)						
				$this->MsgAlerta = "<div class='notice success'> <span>Administrador <strong>excluído</strong> com sucesso!</span> </div>";			
			else			
				$this->MsgAlerta = "<div class='notice error'> <span><strong>Error</strong> ao editar o administrador.</span> </div>";
			
			$_SESSION["mensagens"]["alerta"] = $this->MsgAlerta;
			header("location:administrador.php");			
		}
		
		
		public function Carregar($_id)
		{
			$_query = mysql_query("SELECT id_administrador,nome,email,data_cadastro FROM administrador WHERE id_administrador = '$_id'");
			if($_query)	
			{
				$_linha = mysql_fetch_array($_query);
			
				$this->Id    			   = $_linha['id_administrador'];
				$this->Nome  	   		   = $_linha['nome'];
				$this->Email 			   = $_linha['email'];
				$this->DataCadastro 	   = $_linha['data_cadastro'];
			}
			else			
				$this->MsgAlerta = "<div class='notice error'> <span><strong>Error</strong> ao carregar o administrador.</span> </div>";						
		}

		
		public function Listar()
		{
			echo "
			<div class='panel-wrapper'>
				<div class='panel-wrapper fixed'>".$_SESSION["mensagens"]["alerta"]."<!-- MOSTRA MsgAlerta DE SUCESSO, ERROR E ALERTA -->
					<div class='panel'>
					
						<div class='title'>
							<h4>Administradores cadastrados: ".$this->ContarRegistros("administrador","")."</h4>
							<div class='collapse'><a href='administrador.php?funcao=cadastrar' title='Novo'> <div class='button-green'>Novo Administrador</div></a></div>
						</div>
						
						<div class='content'>
							<table id='sample-table' class=''>
								<thead>
									<tr>
										<th>Nome</th>
										<th>E-mail</th>
										<th>Data de Cadastro</th>					
										<th>Ações</th>
									</tr>
								</thead>
								<tbody>";
								$_query = mysql_query("SELECT a.id_administrador,a.nome,a.email,DATE_FORMAT(a.data_cadastro,'%d/%m/%Y')AS data_cadastro 
														 FROM administrador AS a ORDER BY a.nome") or die ("Falha ao carregar a lista de administradores:");
								while($_linha = mysql_fetch_array($_query))
								{
									echo "<tr>
											<td>$_linha[nome]</td>
											<td>$_linha[email]</td>
											<td>$_linha[data_cadastro]</td>						
											<td><a href='?funcao=editar&id=".$_linha['id_administrador']."' title='Editar'><img src='images/icons/edit.png' class='icone-lista'></a>
												<a href='?funcao=excluir&id=".$_linha['id_administrador']."' title='Excluir' class='excluir'><img src='images/icons/close.png' class='icone-lista-direita'></a></td>
										  </tr>";
								}echo "
								</tbody>
							</table>
						</div>
						
					</div><!-- panel -->
					<div class='shadow'></div>
				</div>
			</div>";
			$_SESSION["mensagens"]["alerta"] = "";
		}
		
		
		public function Salvar()
		{
			if($this->GetError() == false)
			{
				if($this->Id == 0)				
					$this->Cadastrar();				
				else				
					$this->Editar();				
			}
		}
		
		
	};
?>